Semantics of Barriers in a Non-strict, Implicitly-parallel Language Semantics of Barriers in a Non-strict, Implicitly-parallel Language

نویسنده

  • Joseph E. Stoy
چکیده

Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers into a kernel language without barriers where the termination properties of an expression are made explicit in the form of signals. These signals are generated using a monotonic, primitive operator (W) that detects weak head-normal forms of expressions and are used to control the execution of expressions via a strict application operator (Sap). We present two versions of the semantics | the rst uses purely data-driven, eager evaluation and the second mixes eager evaluation with a demand-driven identiier dereference mechanism. We compare and contrast the two for their ability to do resource management and preserve useful semantic properties. 1 Introduction Purely functional languages have the advantage of being non-procedural yet determinate: the result of a functional program is always the same regardless of the order in which its sub-expressions are evaluated. The introduction of side-eeects in a language usually forces a strict, sequential order of evaluation in order to guarantee determinacy (e.g., Scheme and ML). However, it is possible to specify only a partial order on side-eeects and still retain an overall consistent picture of the computation. This paper studies the use and the semantics of barriers as a partial sequentializa-tion construct in Id 12] and pH 13], which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The traditional view of barriers comes from data-parallel languages such as *Lisp and CM-Fortran, where concurrently executing copies of the same program periodically synchronize using a global barrier mechanism. Some parallel machines like the CM5 and Cray T3D even provide such global barrier support in hardware. However, in this paper we study the semantics of barriers under a more general,

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semantics of Barriers in a Non - Strict ,

Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper, we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers i...

متن کامل

An Overview of the Parallel Language Id ( a foundation for pH , a parallel dialect of Haskell )

Id is an architecture-independent, general-purpose parallel programming language that has evolved and been in use for a number of years. Id does not have a sequential core; rather, it is implicitly parallel, with the programmer introducing sequencing explicitly only if necessary. Id is a mostly-functional language, in the family of non-strict functional languages with a Hindley-Milner static ty...

متن کامل

Towards an Operational Semantics for a Parallel Non-Strict Functional Language

Parallel programs must describe both computation and coordination , i.e. what to compute and how to organize the computation. In functional languages equational reasoning is often used to reason about computation. In contrast, there have been many diierent coordination constructs for functional languages, and far less work on reasoning about coordination. We present an initial semantics for GpH...

متن کامل

Partitioning Non-strict Functional Languages for Partitioning Non-strict Functional Languages for Multi-threaded Code

In this paper, we present a new approach to partitioning, the problem of generating sequential threads for programs written in a non-strict functional language. The goal of partitioning is to generate threads as large as possible, while retaining the non-strict semantics of the program. We deene partitioning as a program transformation and design algorithms for basic block partitioning and inte...

متن کامل

Dynamic Categorization of Semantics of Fashion Language: A Memetic Approach

Categories are not invariant. This paper attempts to explore the dynamic nature of semantic category, in particular, that of fashion language, based on the cognitive theory of Dawkins’ memetics, a new theory of cultural evolution. Semantic attributes of linguistic memes decrease or proliferate in replication and spreading, which involves a dynamic development of semantic category. More specific...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995